<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

use think\facade\Route;

Route::group('', function () {
    Route::group('cms', function () {
        // 账户相关接口分组
        Route::group('user', function () {
            // 登陆接口
            Route::post('login', 'api/cms.User/login');
            // 刷新令牌
            Route::get('refresh', 'api/cms.User/refresh');
            // 查询自己拥有的权限
            Route::get('auths', 'api/cms.User/getAllowedApis');
            // 注册一个用户
            Route::post('register', 'api/cms.User/register');
            // 更新头像
            Route::put('avatar','api/cms.User/setAvatar');
            // 查询自己信息
            Route::get('information','api/cms.User/getInformation');
            // 用户更新信息
            Route::put('','api/cms.User/update');
            // 修改自己密码
            Route::put('change_password','api/cms.User/changePassword');
        });
        // 管理类接口
        Route::group('admin', function () {
            // 查询所有权限组
            Route::get('group/all', 'api/cms.Admin/getGroupAll');
            // 查询一个权限组及其权限
            Route::get('group/:id', 'api/cms.Admin/getGroup');
            // 删除一个权限组
            Route::delete('group/:id', 'api/cms.Admin/deleteGroup');
            // 更新一个权限组
            Route::put('group/:id', 'api/cms.Admin/updateGroup');
            // 新建权限组
            Route::post('group', 'api/cms.Admin/createGroup');
            // 查询所有可分配的权限
            Route::get('authority', 'api/cms.Admin/authority');
            // 删除多个权限
            Route::post('remove', 'api/cms.Admin/removeAuths');
            // 添加多个权限
            Route::post('/dispatch/patch', 'api/cms.Admin/dispatchAuths');
            // 查询所有用户
            Route::get('users', 'api/cms.Admin/getAdminUsers');
            // 修改用户密码
            Route::put('password/:uid', 'api/cms.Admin/changeUserPassword');
            // 删除用户
            Route::delete(':uid', 'api/cms.Admin/deleteUser');
            // 更新用户信息
            Route::put(':uid', 'api/cms.Admin/updateUser');
        });
        // 日志类接口
        Route::group('log',function (){
            Route::get('', 'api/cms.Log/getLogs');
            Route::get('users', 'api/cms.Log/getUsers');
            Route::get('search', 'api/cms.Log/getUserLogs');
        });
        //上传文件类接口
        Route::post('file','api/cms.File/postFile');
    });
    Route::group(':version', function () {
        // 轮播图
        Route::group('banner',function(){
            // 列表
            Route::get('','api/:version.Banner/getBanners');
            // 详情
            Route::get('/:id','api/:version.Banner/getBanner');
            //添加
            Route::post('','api/:version.Banner/addBanner');
            //删除
            Route::delete('','api/:version.Banner/delBanner');
            // 获取轮播图元素
            Route::get('item/:id','api/:version.Banner/getBannerItem');
            // 新增轮播图元素
            Route::post('item','api/:version.Banner/addBannerItem');
            // 编辑轮播图元素
            Route::put('item/:id','api/:version.Banner/editBannerItem');
            // 删除轮播图元素
            Route::delete('item','api/:version.Banner/delBannerItem');
        });

        // 官方活动
        Route::group('gf-activity',function(){
            // 列表
            Route::get('', 'api/:version.GfActivity/getDataList');
            // 详情
            Route::get(':id', 'api/:version.GfActivity/getDataInfo');
            // 添加
            Route::post('', 'api/:version.GfActivity/createData');
            // 修改
            Route::put('', 'api/:version.GfActivity/updateData');
            // 删除
            Route::delete(':id', 'api/:version.GfActivity/deleteData');
        });

        // 商家活动
        Route::group('sj-activity',function(){
            // 列表
            Route::get('', 'api/:version.SjActivity/getDataList');
            // 详情
            Route::get(':id', 'api/:version.SjActivity/getDataInfo');
            // 添加
            Route::post('', 'api/:version.SjActivity/createData');
            // 修改
            Route::put('', 'api/:version.SjActivity/updateData');
            // 删除
            Route::delete(':id', 'api/:version.SjActivity/deleteData');
        });

        // 个人活动
        Route::group('gr-activity',function(){
            // 列表
            Route::get('', 'api/:version.GrActivity/getDataList');
            // 详情
            Route::get(':id', 'api/:version.GrActivity/getDataInfo');
            // 修改
            Route::put('', 'api/:version.GrActivity/updateData');
            // 删除
            Route::delete(':id', 'api/:version.GrActivity/deleteData');
        });

        // 商家信息
        Route::group('sj-msg',function(){
            // 列表
            Route::get('', 'api/:version.SjMsg/getDataList');
            // 详情updateDataAdmin
            Route::get(':id', 'api/:version.SjMsg/getDataInfo');
            // 修改
            Route::put('', 'api/:version.SjMsg/updateData');
        });

        // 管理员修改信息
        Route::put('sj-msg-admin', 'api/:version.SjMsg/updateDataAdmin');

        // 全部
        Route::group('all',function(){
            // 全部商家
            Route::get('sj-msg', 'api/:version.SjMsg/getDataAll');
            // 全部官方活动
            Route::get('gf-activity', 'api/:version.GfActivity/getDataAll');
            // 全部商家活动
            Route::get('sj-activity', 'api/:version.SjActivity/getDataAll');
            // 全部个人活动
            Route::get('gr-activity', 'api/:version.GrActivity/getDataAll');
        });

        // 用户
        Route::group('user',function(){
            // 列表
            Route::get('', 'api/:version.User/getDataList');
        });

        // 会员卡信息
        Route::group('member-type',function(){
            // 列表
            Route::get('', 'api/:version.MemberType/getDataList');
            // 详情
            Route::get(':id', 'api/:version.MemberType/getDataInfo');
            // 添加
            Route::post('', 'api/:version.MemberType/createData');
            // 修改
            Route::put('', 'api/:version.MemberType/updateData');
            // 删除
            Route::delete(':id', 'api/:version.MemberType/deleteData');
        });

        // 系统信息
        Route::group('system',function(){
            // 系统信息
            Route::get('', 'api/:version.System/getSystem');
            // 系统信息
            Route::put('', 'api/:version.System/updateSystem');
        });

        // 认证
        Route::group('auth',function(){
            // 实名认证
            Route::group('real',function(){
                // 列表
                Route::get('', 'api/:version.UserToken/getRealList');
                // 详情
                Route::get(':id', 'api/:version.UserToken/getRealInfo');
                // 审核操作
                Route::put('', 'api/:version.UserToken/updateReal');
            });
            // 学历认证
            Route::group('education',function(){
                // 列表
                Route::get('', 'api/:version.UserEducation/getDataList');
                // 详情
                Route::get(':id', 'api/:version.UserEducation/getDataInfo');
                // 审核操作
                Route::put('', 'api/:version.UserEducation/updateData');
            });
            // 工作认证
            Route::group('job',function(){
                // 列表
                Route::get('', 'api/:version.UserJob/getDataList');
                // 详情
                Route::get(':id', 'api/:version.UserJob/getDataInfo');
                // 审核操作
                Route::put('', 'api/:version.UserJob/updateData');
            });
            // 收入认证
            Route::group('income',function(){
                // 列表
                Route::get('', 'api/:version.UserIncome/getDataList');
                // 详情
                Route::get(':id', 'api/:version.UserIncome/getDataInfo');
                // 审核操作
                Route::put('', 'api/:version.UserIncome/updateData');
            });
            // 资产认证
            Route::group('assets',function(){
                // 列表
                Route::get('', 'api/:version.UserAssets/getDataList');
                // 详情
                Route::get(':id', 'api/:version.UserAssets/getDataInfo');
                // 审核操作
                Route::put('', 'api/:version.UserAssets/updateData');
            });
        });

        // 自定义菜单
        Route::group('menu',function(){
            //列表
            Route::get('','api/v1.Menu/getMenuList');
            //修改
            Route::put('','api/v1.Menu/updateMenu');
            //创建自定义菜单
            Route::post('','api/v1.Menu/createMenu');
        });
        // 子菜单修改
        Route::put('menus','api/v1.Menu/updateMenus');
        //微信回复内容列表
        Route::group('reply',function(){
            //查询信息列表
            Route::get('','api/v1.Reply/getList');
            //查询信息详情
            Route::get(':id','api/v1.Reply/getInfo');
            //添加信息
            Route::post('','api/v1.Reply/createData');
            //修改信息
            Route::put('','api/v1.Reply/updateData');
            //删除信息
            Route::delete('','api/v1.Reply/deleteData');
        });
        Route::get('text/:id','api/v1.Reply/getText');
        Route::post('text','api/v1.Reply/updateText');
        Route::get('pic/:id','api/v1.Reply/getPic');
        Route::post('pic','api/v1.Reply/updatePic');

        /**
         * 用户认证
         */
        Route::group('user-auth',function(){
            // 列表
            Route::get('','api/v1.UserAuth/getDataList');
            // 详情
            Route::get(':id','api/v1.UserAuth/getDataInfo');
            // 修改
            Route::put('','api/v1.UserAuth/updateData');
            // 上传用户信息
            Route::post('','api/v1.UserAuth/createData');
        });

        /**
         * 全部用户信息
         */
        Route::group('user',function(){
            Route::get('all','api/v1.User/getDataAll');
        });

        /**
         * 读取图片列表
         */
        Route::group('img-all',function(){
            Route::get('','api/v1.Img/getImgUrlAll');
        });
    });

})->middleware(['Auth','ReflexValidate'])->allowCrossDomain();
